package co.yixiang.modules.user.domain;

import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.bean.copier.CopyOptions;
import co.yixiang.domain.BaseDomain;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.*;
import lombok.experimental.Accessors;

import java.math.BigDecimal;

/**
* @author lsh
* @date 2021-05-12
*/
@Data
@Builder
@Getter
@Setter
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
@ToString
@TableName(value = "monthly_management_award_detail",autoResultMap = true)
public class MonthlyManagementAwardDetail extends BaseDomain {
    @TableId
    private Long id;

    /** 用户ID */
    private Long uid;

    /** 用户手机号 */
    private String userPhone;

    /** 上级 */
    private Long parentId;

    private Boolean enabled;




    private Integer level;

    /** 月份 */
    private String month;

    /** 昵称 */
    private String nickname;

    /** 微信头像地址 */
    private String headimgurl;

    /** 团队总业绩 */
    private BigDecimal totalSum;

    /** 应收管理奖金额 */
    private BigDecimal receivableSum;

    /** 实收管理奖金额 */
    private BigDecimal receiptsSum;

    /** 上级手机号 */
    private String parentUserPhone;

    /** 上级微信昵称 */
    private String parentNickname;

    /** 上级微信头像地址 */
    private String parentHeadimgurl;

    /** 是否开启 */
    private Integer isOpen;

    /** 审核状态 */
    private Integer status;

    /** 来源用户 */
    private Long fromUserId;

    /** 来源用户昵称 */
    private String fromUserName;

    /** 来源用户手机 */
    private String fromUserPhone;

    /** 来源用户头像 */
    private String fromHeadimgurl;


    public void copy(MonthlyManagementAwardDetail source){
        BeanUtil.copyProperties(source,this, CopyOptions.create().setIgnoreNullValue(true));
    }
}
